package com.qiaoba.common.base.constant;

/**
 * 配置常量
 *
 * @author ailanyin
 * @version 1.0
 * @since 2023-04-23 15:37:43
 */
public interface ConfigConstant {

    /**
     * 参数管理 cache key 前缀
     */
    String SYS_CONFIG_KEY_PREFIX = "sys:config:";

    /**
     * 演示模式
     */
    String DEMO_MODE = SYS_CONFIG_KEY_PREFIX + "sys.isDemoMode";

    /**
     * 参数配置-Token有效期
     */
    String TOKEN_EXPIRE_TIME_KEY = SYS_CONFIG_KEY_PREFIX + "sys.token.expireTime";

    /**
     * 参数配置-允许同时在线
     */
    String ALLOW_BOTH_ONLINE_KEY = SYS_CONFIG_KEY_PREFIX + "sys.account.allowBothOnline";

    /**
     * 参数配置-系统注册开关
     */
    String REGISTER_ON_OFF_KEY = SYS_CONFIG_KEY_PREFIX + "sys.account.registerUser";

    /**
     * 参数配置-验证码开关
     */
    String CAPTCHA_ON_OFF_KEY = SYS_CONFIG_KEY_PREFIX + "sys.account.captchaOnOff";

    /**
     * 参数配置-黑名单开关
     */
    String BLACKLIST_ON_OFF_KEY = SYS_CONFIG_KEY_PREFIX + "sys.account.blacklistOnOff";

    /**
     * 参数配置-黑名单过期时间(拉黑时间), 单位：分钟
     */
    String BLACKLIST_EXPIRE_TIME_KEY = SYS_CONFIG_KEY_PREFIX + "sys.account.blacklistExpireTime";

    /**
     * 参数配置-登陆最大错误次数
     */
    String LOGIN_ERROR_MAX_COUNT_KEY = SYS_CONFIG_KEY_PREFIX + "sys.account.loginErrorMaxCount";

    /**
     * 参数配置-登录成功日志开关
     */
    String LOGIN_LOG_SUCCESS_ON_OFF_KEY = SYS_CONFIG_KEY_PREFIX + "sys.login.loginSuccessLog";

    /**
     * 参数配置-登录失败日志开关
     */
    String LOGIN_LOG_FAIL_ON_OFF_KEY = SYS_CONFIG_KEY_PREFIX + "sys.login.loginFailLog";

    /**
     * 开
     */
    String COMMON_ON_VALUE = "true";

    /**
     * 关
     */
    String COMMON_OFF_VALUE = "false";

    /**
     * 默认最大允许错误次数
     */
    Integer DEFAULT_LOGIN_ERROR_MAX_COUNT = 5;

    /**
     * 默认最大黑名单过期时间(单位分钟)
     */
    Long DEFAULT_MAX_BLACKLIST_EXPIRE_TIME = 30L;

    /**
     * 系统内置-【是】
     */
    String CONFIG_TYPE_YES = "Y";
}
